#if !defined(ximera_graphics_ogre_ogre_hpp)
#define ximera_graphics_ogre_ogre_hpp

// -----------------------------------------------------------

#include <ximera/config.hpp>
#include <ximera/exception.hpp>
#include <ximera/common/utils.hpp>

namespace ximera { namespace graphics { namespace ogre
{
    XIMERA_DECLARE_PLUGIN_EXCEPTION(OgreException, L"Ogre Error");

    #define XIMERA_THROW_OGRE_EXCEPTION(e)\
        XIMERA_THROW(OgreException, L"Ogre: " + string_util::str2wstr(e.getDescription()));

    #define OGRE_TO_XIMERA_COLOR(color) ximera::math::Color(color.r, color.g, color.b, color.a)
    #define XIMERA_TO_OGRE_COLOR(color) Ogre::ColourValue(color.r, color.g, color.b, color.a)
}}}

// -----------------------------------------------------------

#endif
